/**
*	OMaster - Cheating Tool OGame
Door: Peter Evers
Datum: 9 Juli 2007 (morgen is mijn mama jarig!)

	Bestand: connect.h
	Beschrijving:
	Dit bestand zorgt er voor dat de juiste pagina's worden opgehaald en worden
	door gegeven aan OMaster die de juiste acties vervolgens onderneemt.
	
**/

#ifndef CONNECT_H__
#define CONNECT_H__

#ifndef _DEBUG
#define _DEBUG
#endif

#define		INFO_FILE	"Data/info.dat"
#define		COOKIE_FILE	"Data/cookie.txt"
#define		MENU_OVERVIEW		0x01
#define		MENU_BUILDINGS	0x02
#define		MENU_RESOURCES	0x03

typedef unsigned int uint;

#include <curl/curl.h>
#include <iostream>   // DEBUG


// enum die de nummers logisch maken :-)
enum SMenu
{
	OVERVIEW = 0, BUILDINGS 
};

/**
* Klasse maakt verbinding met de OGame server, haalt de pagina's op en parsed deze naar peter-taal.
*/
class CConnect
{
public:
    CConnect();
    ~CConnect();
	
	bool PostLoginForm(const char *username, const char *password, const char *uni);
	bool GetPage(uint page, const char *session, const char *uni, const char *planet);
	bool BuildBuilding(const int id, const char *session, const char *uni, const char *planet);
	
	void RefreshPage();
	void WriteDebugInfo(const char *info);
	
    char *GetLastPage();
    bool operator!();
private:
    static size_t write_data(void *buffer, size_t size, size_t nmemb, CConnect *userp);
	   
    bool m_bDataLoaded;			// Geeft aan of libcurl e.d. geinitialiseerd zijn
    CURL *curl;
	
    char *m_szReceivedPage;	// Opgehaalde pagina
    int m_iPageSize;
};

#endif
